package com.pj.common.base

import android.os.Bundle
import android.view.View
import com.pj.common.extension.MsgEvent


interface IFragment {

    /**
     * onCreate()中调用
     */
    fun init() {}


    /**
     *
     * @return 布局ID
     */
    fun getLayoutRes(): Int


    /**
     * 初始化数据,onViewCreated()中调用
     *
     * @param savedInstanceState
     */
    fun initData(view: View, savedInstanceState: Bundle?)

    /**
     * 是否启用toolbar,默认false
     */
    fun enableToolbar(): Boolean = false

    /**
     * 是否共用ViewModel,默认false
     */
    fun activityViewModel(): Boolean = false

    /**
     * 是否关闭当前Activity
     */
    fun isFinishActivity(): Boolean = false

    /**
     * 懒加载
     */
    fun lazyLoadData() {}

    /**
     * 订阅观察事件
     */
    fun subscribeUi() {}

    /**
     * 事件处理
     */
    fun handleEvent(msgEvent: MsgEvent) {}

    /**
     * 键盘事件监听
     */
    fun onSoftInputChanged(height: Int) {}
}